package main

import (
	"fmt"
	"sync"
	"time"
)

// 需求：要求统计1-100的数字中那些事素数
func primeCount(start, end int) {
	for num := start; num <= end; num++ {
		for i := start; i < num; i++ {
			if num%i == 0 {
				break
			}
		}
	}
	wg.Done()
}

var wg sync.WaitGroup

func main() {

	var startTime = time.Now()

	// 一般循环
	// for num := 2; num < 100000; num++ {
	// 	for i := 2; i < num; i++ {
	// 		if num%i == 0 {
	// 			break
	// 		}
	// 	}
	// }

	// goroutine实现
	for i := 1; i <= 4; i++ {
		start := 25000 * (i - 1)
		end := 25000 * (i)
		if i == 1 {
			start = 2
		}
		wg.Add(1)
		go primeCount(start, end)
	}
	wg.Wait()

	fmt.Printf("程序执行消耗时间：%v\n", time.Now().Sub(startTime))
}
